<script>

/*
Reflect 是一个内置的对象，它提供拦截 JavaScript 操作的方法
*/

/*Reflect.defineProperty()
静态方法 Reflect.defineProperty() 基本等同于 Object.defineProperty() 
方法，唯一不同是返回 Boolean 值。*/
let obj = {}
Reflect.defineProperty(obj, 'x', {value: 7,enumerable:true})  // true
obj.x                                         // 7





// Reflect.deleteProperty() 允许用于删除属性，返沪布尔值
Reflect.deleteProperty(target, propertyKey) 




//Reflect.get方法允许你从一个对象中取属性值。就如同属性访问器 语法，但却是通过函数调用来实现。
let obj = {}
console.log(Reflect.get(obj,'a'));//undefined
obj.a = '定海神针'
console.log(Reflect.get(obj,'a'));//定海神针



//静态方法 Reflect.has() 作用与 in 操作符 相同。
Reflect.has(target, propertyKey)


//Reflect.ownKeys() 返回一个由目标对象自身的属性键组成的数组。
Reflect.ownKeys()

//静态方法 Reflect.set() 工作方式就像在一个对象上设置一个属性。
Reflect.set(target, propertyKey, value)










	
</script>